Modern computing devices often include an application to access, organize and share digital photos and videos (“media assets”). These media assets are typically stored in a local library on the computing device, and for some applications, also stored remotely on a network server. The local library can be synchronized with the remote library to ensure coherency between the libraries. If a user edits a media asset on a mobile computing device, the edited media asset can be “synced” to the remote library. The user can then access the edited photo using another computing device.
Some applications provide face detection where a media asset library is scanned to detect human faces. The detected faces are presented to the user in a graphical user interface (GUI) that allows the user to confirm or reject the detected faces, which are then tagged with metadata. Once a face is tagged, the face detection process searches the media asset library to find other media assets that include the tagged face. The user can create collections of media assets that include a specific individual whose face was tagged.
To protect user privacy, some applications encrypt the media assets before syncing the assets with an online library. Because the media assets are stored encrypted in the online library, face detection is performed on the user's computing device. In such applications, maintaining consistency of face detection results among multiple user computing devices is challenging. For example, the user's computing devices may be running different versions of the face detection technology which may provide inconsistent face detections.